package com.lej.core.webView

import android.webkit.JavascriptInterface
import androidx.fragment.app.FragmentActivity
import com.alibaba.android.arouter.launcher.ARouter
import com.lej.core.bus.Events
import com.lej.core.common.WEB_URL
import com.lej.core.daq.DAQEvent
import com.lej.core.router.CRouter
import com.lej.core.utils.KLog
import com.lej.core.utils.ToastUtils
import com.lej.core.utils.extention.fromJson

/**
 * js通信接口
 */
open class MyJavascriptInterface(val activity: FragmentActivity) : BaseJsInstance(activity) {
    override fun getInterfaceName() = "jsProduct"

    @JavascriptInterface
    fun myanswers(value: String) {
        if ("ok" == value) {
            ToastUtils.show("提交成功")
            mActivity.finish()
        }
        KLog.e("" + value)
    }

    @JavascriptInterface
    fun goToUrl(url: String) {
        ARouter.getInstance().build(CRouter.webView).withString(WEB_URL, url).navigation()
    }

    @JavascriptInterface
    ///暂时只有 {type:0} type=1,内容就是分享邀请码
    ///[岳飞定的]名字和分享方式.打开分享弹窗(根据type获取不同的分享内容,展示在页面上)
    fun goToShare(json: String) {
        DAQEvent.share_code.mobEvent("start")
        val map = json.fromJson<HashMap<String, String>>()
        val type = map?.get("type")?.toIntOrNull()
        if (type == 1) {
        }
    }

    /**分享任务微信小程序*/
    @JavascriptInterface
    fun goToShareWX() {
        Events.SHARE_TO_SMALL_APP.post("")
    }

    /*h5唤起支付*/
    @JavascriptInterface
    fun goToPay(json: String) {
    }

//
//    @JavascriptInterface
//    fun sharePageCard(json: String) {//分享卡片
//        "sharePageCard $json".toast()
//        val asJson = JsonObject().getAsJsonObject(json)
//        val id = asJson.get("id").asInt
//        val cover = asJson.get("cover").asString
//        val type = asJson.get("type").asInt
//        val title = asJson.get("title").asString
//    }
//
//    @JavascriptInterface
//    fun pay(json: String) {//调起支付
//        "pay $json".toast()
//    }
//
//    @JavascriptInterface
//    fun transfer(json: String) {//转让房间(分享)
//        "transfer $json".toast()
//        val asJson = JsonObject().getAsJsonObject(json)
//        val id = asJson.get("id").asString
//        val type = asJson.get("type").asInt
//    }
//
//    @JavascriptInterface
//    fun house(id: Int) {//进入3d空间
//        "house $id".toast()
//    }
//
//    @JavascriptInterface
//    fun login(tips: String) {//跳转登录
//        "login".toast()
//    }
}

